/*
 * @(#)Bootstrap.java   1.0   May 25, 2007
 *
 * Copyright 2000-2007 ETH Zurich. All Rights Reserved.
 *
 * This software is the proprietary information of ETH Zurich.
 * Use is subject to license terms.
 *
 * @(#) $Id: Bootstrap.java 456 2007-05-29 09:47:17Z D\aldespin $
 */
package ch.ethz.globis.javaom.minimal;

/**
 * @author aldespin
 * @version 1.0
 */
public class Bootstrap {

   public static void run() {
      // types
      final Object object = new Object();
      final Object type = new Object();
      final Object attribute = new Object();

      // attributes
      final Object typeName = new Object();
      final Object typeAttributes = new Object();
      final Object attributeName = new Object();
      final Object attributeType = new Object();

      // type attributes values
      final Object objectNameValue = new Object();
      final Object objectAttributesValue = new Object();
      final Object typeNameValue = new Object();
      final Object typeAttributesValue = new Object();
      final Object attributeNameValue = new Object();
      final Object attributeAttributesValue = new Object();

      // attribute attributes values
      final Object typeNameName = new Object();
      final Object typeNameType = new Object();
      final Object typeAttributesName = new Object();
      final Object typeAttributesType = new Object();
      final Object attributeNameName = new Object();
      final Object attributeNameType = new Object();
      final Object attributeTypeName = new Object();
      final Object attributeTypeType = new Object();

      // dress
      object.dress(object);
      object.dress(type);
      type.dress(object);
      type.dress(type);
      attribute.dress(object);
      attribute.dress(type);

      // set type attributes values
      object.setAttributeValue(type, typeName, objectNameValue);
      object.setAttributeValue(type, typeAttributes, objectAttributesValue);
      type.setAttributeValue(type, typeName, typeNameValue);
      type.setAttributeValue(type, typeAttributes, typeAttributesValue);
      attribute.setAttributeValue(type, typeName, attributeNameValue);
      attribute.setAttributeValue(type, typeAttributes, attributeAttributesValue);

      // set attributes attribute values
      typeName.setAttributeValue(attribute, attributeName, typeNameName);
      typeName.setAttributeValue(attribute, attributeType, typeNameType);
      typeAttributes.setAttributeValue(attribute, attributeName, typeAttributesName);
      typeAttributes.setAttributeValue(attribute, attributeType, typeAttributesType);
      attributeName.setAttributeValue(attribute, attributeName, attributeNameName);
      attributeName.setAttributeValue(attribute, attributeType, attributeNameType);
      attributeType.setAttributeValue(attribute, attributeName, attributeTypeName);
      attributeType.setAttributeValue(attribute, attributeType, attributeTypeType);
   }
}
